package cn.theten52.demo.patterns.design.behavior.interpreter;

import java.util.Map;

/**
 * 非终结符表达式（NonTerminal Expression）：文法中的每一条规则都需要一个具体的非终结符表达式，
 * 非终结符表达式一般是文法中的运算符或者其他关键字。例如表达式a+b中，a和b就是非终结符。
 *
 * @author wangjin
 * @date 2021/1/6
 */
public class VarExp implements Expression {
    private String value;

    public VarExp(String value) {
        this.value = value;
    }

    @Override
    public double interpreter(Map<String, Double> var) {
        // 返回表达式所对应的值
        return var.get(this.value);
    }
}
